#include<iostream>
#include<cstring>
using namespace std;
void Encryption(char *s,char *t,int lens,int lent)
{
    char* result=new char[25];//result里面储存答案
    for(int i=0,j=0;i<lens;i++,j++)
    {
        if(j==lent)
            j=0;
        //j循环的是数字串，数字串循环完让它指向开头
        if(isupper(*(s+i)))//判断是不是大写字母
        {
            if(*(s+i)+*(t+j)-48>'Z')//因为字符数字里面。‘0’的ASCII是48，所以要减去48
                *(result+i)=64+*(t+j)-48+*(s+i)-90;
                //'A'是65，你要得到那个大写字母，你就从‘64’往上加，比如第一个字母就是64+1=‘A’
                //后面就是计算，超出了Z多少个
                //*(t+j)-48+*(s+i)超过了Z，‘Z’是90，所以超过数-90，得到超过Z多少个
            //判断是不是超过了Z
            else
            {
                *(result+i)=*(t+j)-48+*(s+i);
            }
        }
        else
        {
            if(*(s+i)+*(t+j)-48>'z')
                *(result+i)=97+*(s+i)+*(t+j)-48-122;
                //这里小写字母和上述大写字母是相同思想，万能的ASCII
            //判断是不是超过了z
            else
            {
                *(result+i)=*(t+j)+*(s+i)-48;
            }
        }
    }
    cout<<result<<endl;
    delete[] result;
}

int main()
{
    int time;
    cin>>time;
    while(time--)
    {
        char* s=new char[22];
        char* t=new char[22];
        cin>>s>>t;
        int lens=strlen(s);
        int lent=strlen(t);
        Encryption(s,t,lens,lent);
        delete[] s;
        delete[] t;
    }
}